package org.example.utils;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
import java.util.stream.Collectors;

public class ChineseStringGeneratorUtils {
    // 现代汉语常用字表（部分示例，完整列表需包含3500字）
    private static final String COMMON_SIMPLIFIED =
            "的一是在不了有和人这中大为上个国我以要他时来用们生到作地于出就分对成会可主发年动同工也能下过子说产种面而方后多定行学法所民得经十三之进着等部度家电力里如水化高自二理起小物现实加量都两体制机当使点从业本去把性好应开它合还因由其些然前外天政四日那社义事平形相全表间样与关各重新线内数正心反你明看原又么利比或但质气第向道命此变条只没结解问意建月公无系军很情者最立代想已通并提直题党程展五果料象员革位入常文总次品式活设及管特件长求老头基资边流路级少图山统接知较将组见计别她手角期根论运农指几九区强放决西被干做必战先回则任取据处队南给色光门即保治北造百规热领七海口东导器压志世金增争济阶油思术极交受联什认六共权收证改清己美再采转更单风切打白教速花带安场身车例真务具万每目至达走积示议声报斗完类八离华名确才科张信马节话米整空元况今集温传土许步群广石记需段研界拉林律叫且究观越织装影算低持音众书布复容儿须际商非验连断深难近矿千周委素技备半办青省列习响约支般史感劳便团往酸历市克何除消构府称太准精值号率族维划选标写存候毛亲快效斯院查江型眼王按格养易置派层片始却专状育厂京识适属圆包火住调满县局照参红细引听该铁价严";

    private static final List<String> translations = Arrays.asList("英文","日文","法文","西班牙","俄语","缅文","韩文","印度文","波斯文","朝鲜文","中文","白俄罗斯","埃及","伊朗","德语");

    public static String generate(int length) {
        return ThreadLocalRandom.current()
                .ints(length, 0, COMMON_SIMPLIFIED.length())
                .mapToObj(COMMON_SIMPLIFIED::charAt)
                .collect(StringBuilder::new, StringBuilder::append, StringBuilder::append)
                .toString();
    }

    public static List<String> targetLanguage(){

        Random random = new Random();
        List<String> arrays = new ArrayList<>();
        int nextInt = random.nextInt(translations.size() - 5) +5;
        for (int i = 0; i < nextInt; i++) {
            String s = translations.get(i);
            arrays.add(s);
        }
        return arrays;
    }


    public static String getRandomLocalism(){
        Random random = new Random();
        int length = random.nextInt(970) + 30;
        return generate(length); // 例如："欢迎使用中文"
    }
    public static void main(String[] args) {
        List<String> strings = targetLanguage();
        System.out.println(strings.stream().collect(Collectors.joining(",")));
    }

}